package com.duobaoyu.dby.supply.admin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.duobaoyu.dby.supply.common.biz.dto.order.*;
import com.duobaoyu.dby.supply.common.biz.vo.order.*;
import com.duobaoyu.dby.supply.core.task.bean.exporttask.ExportParam;

import java.util.List;

/**
 * @author chenms
 * @date 2023/10/16 3:33 PM
 */
public interface AdminOrderBizService {

    /**
     * 分页获取订单列表查询
     */
    Page<OrderPageVO> pageOrderList(OrderPageDTO orderPage);

    /**
     * 保存运营备注
     */
    boolean saveOperateRemark(OperateRemarkDTO operateRemark);

    /**
     * 订单下载
     */
    Boolean export(ExportParam<OrderPageDTO> param);

    /**
     * 子单详情
     */
    OrderSubDetailVO orderSubDetail(String orderSn);

    /**
     * 总单详情
     */
    OrderBlanketDetailVO orderBlanketDetail(String supplyOrderSn);

	/**
	 * 获取订单物流信息
	 */
	List<OrderDeliveryVO> listOrderDelivery(OrderDeliveryDTO orderDelivery);

	/**
	 * 取消订单
	 */
	Boolean cancelOrder(OrderCancelDTO orderCancel);

    /**
     * 修改人工处理状态
     */
    //Boolean manualHandling(OrderStatusDTO orderStatus);


    /**
     * 补单分页列表
     */
    Page<OrderRepairPageVO> pageOfRepair(OrderRepairPageDTO orderRepairPage);

    /**
     * 后台补单
     */
    Boolean batchOrderRepair(BatchRepairDTO batchRepair);

    /**
     * 补单明细
     */
    OrderRepairDetailVO orderRepairDetail(String orderSn);

    /**
     * 批量关闭补单数据
     */
    Boolean batchCloseOrderRepair(BatchCloseDTO batchClose);

    /**
     * 修改订单状态
     */
    Boolean modifyOrderStatus(OrderStatusUpdateDTO orderStatusUpdate);

}
